package projeto.comercial.cliente.cih;

import java.util.ArrayList;
import java.util.List;

import nucleo.comuns.visao.NucleoTab;
import plataforma.base.cdp.ExcecaoRegraNegocio;
import plataforma.crudestatico.cih.FormularioDadosCRUDEstatico;
import projeto.administrativo.colaboradorexterno.cih.AbaContatos;
import projeto.administrativo.colaboradorexterno.cih.AbaInformacoes;
import projeto.comercial.cliente.cdp.Cliente;

public class FormDadosCliente extends
		FormularioDadosCRUDEstatico<Cliente> {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1581725411241462727L;
	AbaDadosCliente abaDadosCliente;
	AbaInformacoes abaInformacoes;
	AbaContatos abaContatos;
	//AbaDadosCliente abaCliente;


	@Override
	protected List definirTabs() {

		List<NucleoTab> listaTabs = new ArrayList<NucleoTab>();
		abaDadosCliente = new AbaDadosCliente();		
		abaInformacoes = new AbaInformacoes();
		abaContatos = new AbaContatos();
		

		listaTabs.add(abaDadosCliente);
		listaTabs.add(abaContatos);
		listaTabs.add(abaInformacoes);
		

		return listaTabs;
	}

	@Override
	protected void preencherDadosObjeto(Cliente objeto) {
		objeto.setNome(abaDadosCliente.getCampoNome().getValue());
		objeto.setEmail(abaDadosCliente.getCampoemail().getValue());			
		objeto.setTelefone(abaDadosCliente.getCampoTelefone()
				.getValue());
		
		objeto.setEndereco(abaDadosCliente.getCampoEndereco().getValue());

		objeto.setContatos(abaContatos.getContatos());
		objeto.setInformacoes(abaInformacoes.getInformacoes());
		objeto.setRamo(abaDadosCliente.getRamoAtividade());

	}

	@Override
	protected void preencherDadosTela(Cliente objeto)
			throws ExcecaoRegraNegocio {
		
		abaDadosCliente.getCampoNome().setValue(objeto.getNome());
		abaDadosCliente.getCampoemail().setValue(objeto.getEmail());
		abaDadosCliente.getCampoTelefone().setValue(
				objeto.getTelefone());		
		abaDadosCliente.getCampoEndereco().setValue(objeto.getEndereco());
		abaDadosCliente.setRamoAtividade(objeto.getRamo());
		abaContatos.setContatos(objeto.getContatos());
		abaInformacoes.preencherComDados(objeto.getInformacoes());

	}
	
	/*
	public void configurarExtensao() {		
		if (getModoExibicao() == ModoExibicao.NOVO) {
			
			//funcoes de servico			
			DaoFuncaoServico daoFuncao  = SpringUtil.getApplicationContext().getBean(
					DaoFuncaoServico.class);
			List<FuncaoServico> todasFuncoes = daoFuncao.recuperarTodosAtivoComOrdenacao("descricao");
			abaFuncaoServico.setFuncaoServico(getObjetoCadastroDados().getFuncaoServico(), todasFuncoes);
					
		}

	}
	*/

	@Override
	public boolean isValid() {
		if (abaDadosCliente.isValid())
			return true;

		return false;
	}
}
